package com.hub.service.asset;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hub.dto.asset.CategoryInfoDto;
import com.hub.dto.asset.SearchCategoryInfoDto;
import com.hub.entity.asset.AssetCategoryInfo;
import com.hub.utils.ApiResultObject;
import com.hub.utils.PagingResultObject;

/**
 * @author hub
 */
public interface ICategoryInfoService extends IService<AssetCategoryInfo> {

    /**
     * 
     * 分页查询
     * @param queryModel
     * @return
     */
    PagingResultObject getList(SearchCategoryInfoDto queryModel);

    /**
     * 
     * 新增分类
     * @param addModel
     * @return
     */
    ApiResultObject addAssetCategory(CategoryInfoDto addModel);

    /**
     * 
     * 修改分类
     * @param modifyModel
     * @return
     */
    ApiResultObject modifyAssetCategory(CategoryInfoDto modifyModel);

    /**
     * 
     * 删除分类
     * @return
     */
    ApiResultObject deleteAssetCategory(int id);

    ApiResultObject getAllList();

    /**
     * 获取所有一级分类信息
     * @return
     */
    public ApiResultObject getAllMainCategory();

    /**
     * 根据父分类编号，获取所有的子分类
     * @param code
     * @return
     */
    public ApiResultObject getCategoryByParentCode(String code);

    /**
     * 获取一级分类信息
     * @return
     */
    public AssetCategoryInfo getMainCategoryByCode(String code);

    /**
     * 根据父分类及分类Code获取分类信息
     * @return
     */
    public AssetCategoryInfo getCategoryByParentCodeAndCode(String parentCode ,String code);

}
